package com.rbac.service;

import com.rbac.dto.PermissionQueryDTO;
import com.rbac.entity.SysPermission;
import com.github.pagehelper.PageInfo;
import com.rbac.vo.PermissionVO;

import java.util.List;

public interface PermissionService {
    
    /**
     * 根据权限编码查询权限
     */
    SysPermission getPermissionByPermissionCode(String permissionCode);
    
    /**
     * 根据ID查询权限
     */
    SysPermission getPermissionById(Long id);
    
    /**
     * 获取权限列表
     */
    PageInfo<PermissionVO> getPermissionList(PermissionQueryDTO queryDTO);
    
    /**
     * 获取所有权限（用于下拉选择）
     */
    List<SysPermission> getAllPermissions();
    
    /**
     * 新增权限
     */
    boolean addPermission(SysPermission permission);
    
    /**
     * 更新权限
     */
    boolean updatePermission(SysPermission permission);
    
    /**
     * 删除权限
     */
    boolean deletePermission(Long id);
    
    /**
     * 更新权限状态
     */
    boolean updatePermissionStatus(Long id, Integer status);
} 